package com.vhall.component.controller.subject.facade;


import com.alibaba.fastjson.JSONObject;
import com.vhall.component.entity.subject.vo.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * @author jian.yang
 * @date 2022/3/31 16:19
 */
@FeignClient(value = "SubjectConsoleFacade", path = "/v4/subject/console")
public interface SubjectConsoleFacade {

    @PostMapping(value = "/create")
    Boolean create(@Validated CreateSubjectVo reqVo);

    @PostMapping(value = "/update")
    Boolean update(@Validated UpdateSubjectVo reqVo);

    @PostMapping(value = "/list")
    JSONObject list(@Validated SubjectListReqVo reqVo);

    @PostMapping(value = "/del")
    Boolean del(@Validated SubjectIdsReqVo reqVo);

    @PostMapping(value = "/get-room-list")
    JSONObject getRoomList(@Validated SubjectRoomListReqVo subjectRoomListReqVo);

    @PostMapping(value = "/get-info")
    JSONObject getInfo(SubjectBasicReqVo reqVo);
}
